7745f6be9d19687528fd494416d0ba726309ec4b,src/main/java/org/spongepowered/server/mixin/core/entity/MixinEntityLivingBase.java,MixinEntityLivingBase,setActiveHand,#EnumHand#,114
Before Change
public void setActiveHand(EnumHand hand) {
net.minecraft.item.ItemStack itemstack = this.getHeldItem(hand);
if (itemstack != null && !this.isHandActive()) {
UseItemStackEvent.Start event = SpongeEventFactory.createUseItemStackEventStart(Cause.of(NamedCause.source(this)), itemstack.getMaxItemUseDuration(), itemstack.getMaxItemUseDuration(),
((ItemStack) itemstack).createSnapshot());
if (!SpongeImpl.postEvent(event)) {
this.activeItemStack = itemstack;
this.activeItemStackUseCount = event.getRemainingDuration();
After Change
private void onSetActiveItemStack(EnumHand hand, CallbackInfo ci, ItemStack stack) {
UseItemStackEvent.Start event = SpongeEventFactory.createUseItemStackEventStart(Cause.of(NamedCause.source(this)),
stack.getMaxItemUseDuration(), stack.getMaxItemUseDuration(), ItemStackUtil.snapshotOf(stack));
if (SpongeImpl.postEvent(event)) {
ci.cancel();
} else {
this.activeItemStackUseCount = event.getRemainingDuration();